 


/**
 * Beschreiben Sie hier die Klasse Quadr.
 * 
 * @author Andreas Schreiner
 * @version 1
 */
public class Quadr
{
    static double quadrA; 
    static double quadrB;
    static double quadrC;
    static String ausgabe = null;
   



    /**
     * Methode QuadratischeFunct
     * Diese Methode ��berpr��ft eine Quadratische Funktion auf die Art ihrer Nullstellen.
     * M��gliche Nullstllenarten sind 
     * 1. Doppelte Nullstelle
     * 2. 2 Reele Nullstellen
     * 3. 2 Komplexe Nullstllen
     */
    public static String QuadratischeFunct(){
        assert quadrA != 0;
        double quadrEa = 0;
        double quadrEb = 0;
        double wurzel;
        int unterscheidung = 0;
        double potB = Math.pow(quadrB, 2);
        double quadrD = (potB-4*quadrA*quadrC);
        if (quadrD == 0){
            unterscheidung = 1;
            wurzel = Math.sqrt((potB -4*quadrA*quadrC));
            quadrEa = (-quadrB + wurzel)/ 2*quadrA;
            quadrEa = Math.round((quadrEa*100000000))/100000000;

        }
        else if(quadrD > 0){
            unterscheidung = 2;
            wurzel = Math.sqrt((potB-4*quadrA*quadrC));
            quadrEa = (-quadrB + wurzel)/ (2 * quadrA);
            quadrEb = (-quadrB - wurzel)/ (2 * quadrA);
            quadrEa = Math.round((quadrEa*100000000))/100000000;
            quadrEb = Math.round((quadrEb*100000000))/100000000;
        }
        else if(quadrD < 0){
            unterscheidung = 3;
        }

        java.lang.Math.round(quadrD);
        switch (unterscheidung){
            case 1: 
            ausgabe = ( quadrEa + "  Ist eine doppelte Nullstelle");
            //Ausgabe = ("Nullstellen:\n" + QuadrEa + '\n'  + QuadrEb );
            break;
            case 2:
            ausgabe = ("Nullstellen:  " +  quadrEa + "  und  "  + quadrEb );
            break;
            case 3:
            ausgabe = (" Die Funktion besitzt keine reele Nullstellen");
            break;
        }
        return (ausgabe);
    }
}
